为什么早期的 Windows 经常死机蓝屏,而现在却很少发生了?

您所在的位置:网站首页 windows 10死机 为什么早期的 Windows 经常死机蓝屏,而现在却很少发生了?

为什么早期的 Windows 经常死机蓝屏,而现在却很少发生了?

2023-03-15 18:42| 来源: 网络整理| 查看: 265

经常蓝屏是95/98那系列的内核,为了混合使用16和32做了很多奇怪的事情,为了能在4M内存的386上跑,做了更多奇怪的事情。很多有趣的老东西可以在这里看到

The Old New Thing

(当然,该作者最近开始评论他老婆看非诚勿扰的事情,忽略就是了)为了达到这一点,kernel的验证比较少(为了低配置的效率),程序的崩溃很容易造成kernel级别的崩溃,也就是蓝屏。再加上当时的驱动基本都是内核态的,第三方驱动的实现经常很差,驱动崩溃也蓝屏。

2k以后用了nt内核,就好得多了。nt内核原先的目标就是服务器等需要可靠计算的地方。从创立初期就把debug能力和稳定性放入要求中,比95稳定是必然的。但2k/xp的驱动模型还是以内核态为主,后期才大量引入用户态驱动。

到了vista+的时候,驱动已经是用户态为主,内核态就留一个和硬件打交道的小模块。并且连显存分配之类本来应该有驱动完成的事情,都变成由windows完成,降低了不同厂商的驱动质量造成的差别。虽然一开始很痛苦,但过了这个坎之后win7+就好了很多。用户态驱动崩溃的话,也就是程序关闭,不会蓝屏。再加上有TDR机制,系统检测到设备驱动有问题,就强制重启那个驱动,而不是由它蓝屏。

其实到现在(Win10),根据统计,98%的蓝屏来自于第三方驱动。以后发展的目标是,尽量减少第三方驱动的影响,不管是通过把驱动模型变成windows为主第三方只负责具体和硬件打交道的接口,还是让第三方提供驱动源代码。以后蓝屏会进一步减少。比如,3D打印机驱动里面,绝大部分代码,包括把模型分解成voxel、模型拼接、喷点路径之类,都是属于windows,厂商提供的驱动也就是把一个voxelize过的路径喷出来。

(顺便吐槽一下猪队友Intel,搞的什么驱动,sp4的显卡驱动和网卡驱动,简直是用脚趾头写的,出厂不测啊)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3